OneStopTesting - Quality Testing Jobs, eBooks, Articles, FAQs, Training Institutes, Testing Software, Testing downloads, testing news, testing tools, learn testing, manual testing, automated testing, load runner, winrunner, test director, silk test, STLC

Forum| Contact Us| Testimonials| Sitemap| Employee Referrals| News| Articles| Feedback| Enquiry
 
Testing Resources
 
  • Testing Articles
  • Testing Books
  • Testing Certification
  • Testing FAQs
  • Testing Downloads
  • Testing Interview Questions
  • Career In Software Testing
  • Testing Jobs
  • Testing Job Consultants
  • Testing News
  • Testing Training Institutes
  •  
    Fundamentals
     
  • Introduction
  • Designing Test Cases
  • Developing Test Cases
  • Writing Test Cases
  • Test Case Templates
  • Purpose
  • What Is a Good Test Case?
  • Test Specifications
  • UML
  • Scenario Testing
  • Test Script
  • Test Summary Report
  • Test Data
  • Defect Tracking
  •  
    Software testing
     
  • Testing Forum
  • Introduction
  • Testing Start Process
  • Testing Stop Process
  • Testing Strategy
  • Risk Analysis
  • Software Listings
  • Test Metrics
  • Release Life Cycle
  • Interoperability Testing
  • Extreme Programming
  • Cyclomatic Complexity
  • Equivalence Partitioning
  • Error Guessing
  • Boundary Value Analysis
  • Traceability Matrix
  •  
    SDLC Models
     
  • Introduction
  • Waterfall Model
  • Iterative Model
  • V-Model
  • Spiral Model
  • Big Bang Model
  • RAD Model
  • Prototyping Model
  •  
    Software Testing Types
     
  • Static Testing
  • Dynamic Testing
  • Blackbox Testing
  • Whitebox Testing
  • Unit Testing
  • Requirements Testing
  • Regression Testing
  • Error Handling Testing
  • Manual support Testing
  • Intersystem Testing
  • Control Testing
  • Parallel Testing
  • Volume Testing
  • Stress Testing
  • Performance Testing
  • Agile Testing
  • Localization Testing
  • Globalization Testing
  • Internationalization Testing
  •  
    Test Plan
     
  • Introduction
  • Test Plan Development
  • Test Plan Template
  • Regional Differences
  • Criticism
  • Hardware Development
  • IEEE 829-1998
  • Testing Without a TestPlan
  •  
    Code Coverage
     
  • Introduction
  • Measures
  • Working
  • Statement Coverage
  • Branch Coverage
  • Path Coverage
  • Coverage criteria
  • Code coverage in practice
  • Tools
  • Features
  •  
    Quality Management
     
  • Introduction
  • Components
  • Capability Maturity Model
  • CMMI
  • Six Sigma
  •  
    Project Management
     
  • Introduction
  • PM Activities
  • Project Control Variables
  • PM Methodology
  • PM Phases
  • PM Templates
  • Agile PM
  •  
    Automated Testing Tools
     
  • Quick Test Professional
  • WinRunner
  • LoadRunner
  • Test Director
  • Silk Test
  • Test Partner
  • Rational Robot
  •  
    Performance Testing Tools
     
  • Apache JMeter
  • Rational Performance Tester
  • LoadRunner
  • NeoLoad
  • WAPT
  • WebLOAD
  • Loadster
  • OpenSTA
  • LoadUI
  • Appvance
  • Loadstorm
  • LoadImpact
  • QEngine
  • Httperf
  • CloudTest
  •  
    Languages
     
  • Perl Testing
  • Python Testing
  • JUnit Testing
  • Unix Shell Scripting
  •  
    Automation Framework
     
  • Introduction
  • Keyword-driven Testing
  • Data-driven Testing
  •  
    Configuration Management
     
  • History
  • What is CM?
  • Meaning of CM
  • Graphically Representation
  • Traditional CM
  • CM Activities
  • Tools
  •  
    Articles
     
  • What Is Software Testing?
  • Effective Defect Reports
  • Software Security
  • Tracking Defects
  • Bug Report
  • Web Testing
  • Exploratory Testing
  • Good Test Case
  • Write a Test
  • Code Coverage
  • WinRunner vs. QuickTest
  • Web Testing Tools
  • Automated Testing
  • Testing Estimation Process
  • Quality Assurance
  • The Interview Guide
  • Upgrade Path Testing
  • Priority and Severity of Bug
  • Three Questions About Bug
  •    
     
    Home » Testing Articles » Testing - General Articles » Software testing gets its own niche

    Software testing gets its own niche

    A D V E R T I S E M E N T


    Software testing is an integral and critical phase of any software project that takes up almost 40% of a software development life cycle, ideally. Developers and testers must ensure that new products or product enhancements meet functional and performance requirements, that those products are reliable and able to operate consistently under peak load. The risk of releasing a product that is not yet ready are greater now than ever before because of the change in expectations and demands of end users.

    According to the Standish Group's (an international research advisory firm) 2003 research report on Project Failure and Success, nearly three out of four software projects in the US are either delivered late, overbudget or are cancelled before being completed. Project success rates are just 34% of all projects while failures have declined to 15%. Challenged projects account for the remaining 51%.

    Agile development and testing is growing in popularity and smart QA/testing teams keep pace with current development trends. Agile testing tools vary from project management tools to automated testing tools. We recently spoke with JoEllen West, Agile tester from VersionOne, to discuss automated testing and its' role in Agile environments. VersionOne is recognized by agile practitioners as a leader in Agile project management tools and JoEllen is the lead tester on their agile development team.

    Automated Testing of Agile Projects vs. Waterfall Projects

    JoEllen had this to say about the difference: "Automation is a critical component to maintaining agility, and is a priority for the entire team through established practices/disciplines and a focus on continuous improvement. Continuous integration/builds, unit, functional & integration test execution and continuous/automated deployment are common examples of applying automation beyond the scope of traditional automated tests."

    "In contrast, waterfall projects will tend not to invest in automation as a priority, primarily due to the phased investment and handoff mindset that accompanies that approach. At best, builds may leverage some automation, and a phase of a waterfall project may be dedicated to functional test automation for long-term support/future release needs, but it's rare to find much more in a back-end-loaded waterfall project."

    Agile Tester Skills

    Regarding agile tester skills, JoEllen said that an Agile tester will have a more team oriented approach and use a wide variety of tools. "In addition to a quality/test-oriented outlook, an agile tester will incorporate a wide array of testing tools and technologies into their testing efforts. They are an integral member of the development team, participating fully in the development process, from design through delivery & deployment. A deep understanding of the domain and features under development is essential to developing tests that provide meaningful feedback. Testers may also work on several stories or features at one time, so tools to organize and juggle multiple testing activities are critical. They will have adapted to a more collaborative, team-based approach to the iterative/continuous delivery of high-quality, working software as a measure of progress."

    Automation Responsibilities on an Agile Team

    "The team! Literally anyone who does anything repetitively more than 2 or 3 times in a short period of time should and will automate it, preferably with a well known tool such as TestComplete, open source options or homegrown scripts/utilities. Testers generally shoulder the development of functional test automation, since that activity can parallel the actual feature development."

    Deciding what Tests get Automated in Agile Environments

    "The individuals doing detailed planning for a given user story (i.e. product owner(s), developers, testers) may make some of those decisions at that time. Developers and testers working on the story make detailed decisions about where automation can be used to trigger acceptance/signal completion of the story. During testing, testers may see opportunities for adhoc, on the fly automation to increase test coverage."

    Maintaining and Reviewing Automated Tests in Agile Environments

    "Since tests are often created by tester-developer and/or tester-product owner pairs, there's a built-in review process of the test scope and validation level as part of story acceptance. Otherwise, the collaborative planning to define the tests, then the collaborative acceptance with the product owner provides ample shared knowledge and review. The end result is robust, resilient automated tests which provide the backbone of regression testing, and any test failures from regression testing may also trigger a test review."

    "Ideally, the entire team maintains all tests, whether unit, functional, or any other. However, testers may use specialized tools for GUI-level tests that require their involvement to maintain tests over time. To reduce the possible silo-ing of this information, the tools should be carefully chosen to be accessible to all team members, information should be readily available, and the test inventory should be continuously culled to prevent test bloat. Beware of the tester building a mammoth suite of tests in a specialized environment as a job security strategy."

    Agile Teams Automate Black Box and White Box Tests

    "For functional/acceptance tests, it's most common for there to be a combination of white-box (under-the-covers) and UI automation (black-box) tests. The white-box tests tend to be less fragile, so are less costly to maintain, whereas the black-box UI-driven tests need to be leveraged judiciously due to the cost to develop and maintain the tests over time. Ideally, testers are involved in both, so that the black-box tests can supplement instead of duplicating white-box tests."

    Implementing Test Driven Development

    "By definition, TDD is a developer coding practice (via a unit test framework), not an agile tester practice. Simply, a developer will write a failing unit test, add the associated code to satisfy the test, then re-run those tests to ensure success. Subsequent refactoring/redesign of the resulting code is done whilst keeping the unit tests running 'Green'. The standard TDD mantra is Red-Green-Refactor."

    "However, the same concept (i.e. test-first) is definitely applied to higher-level functional and acceptance testing, whether automated or executed manually. Essentially, detailed requirements for a user story are expressed in the form of acceptance tests, which can then be captured in advance in a test automation environment such that they will eventually run 'green' once the functionality is in place, signaling completion (they may run 'yellow' on incomplete stories)."

    When Not to Use Automation in an Agile Environment

    It's important to know when and when not to automate tests, this holds true no matter what methodology is used. JoEllen said that if a test is only performed once then it shouldn't be automated. "One-time tasks and exploratory testing/edge cases shouldn't be automated. Edge cases are, by definition, usually one-off test cases, and the effort to automate edge cases generally does not pay off. Exploratory tests are best used to gain knowledge of a new feature and then tweak or revise tests based on the new knowledge."

    Switching from Waterfall to Agile

    When asked if she had any advice to give testers who are switching from a Waterfall project to an Agile project, JoEllen had this to say: "Be aware of the change in mindset/culture. Experiment with modern tools. Keep the big picture of the application in mind and consider individual user stories within the bigger context. Think holistically, and encourage the rest of the team to do so as well."

    Functional, GUI, Regression and Performance Testing in an Agile Environment

    JoEllen explained that all testing types have a place in an Agile shop, it is just a matter of how they are used. "Unit, functional, acceptance, GUI (some of which become regression), performance and load testing are all used. We try to select the most appropriate tool for the team and the type of test we're performing, so we have several different tools in our arsenal."

    "All of these testing types have a place in an agile environment. However, it's important to incorporate them in an Agile way, rather than a prescriptive way. Balance the quality goals of the team with the requirements and risk of individual user stories."

    Automated Testing Starts on Day One

    The automated testing process begins the same time as development in an Agile shop. JoEllen said, "The testing process begins at the same time as development - Day One."

    Automated Testing Tool Features - What is More Important to Agile Testers?

    "Most agile teams, regardless of any specific methodology, are looking for fast, reliable feedback from their automated tests. Fast, reliable feedback means timely results with minimal false failures, ideally incorporated as part of the continuous integration (build) pipeline."

    Automated Testing ROI in Agile Environments

    "It's really a prerequisite to becoming a truly agile team. Automated tests can provide faster feedback than a manual test, reducing rework and long feedback cycles. Thus, if ROI is producing high-quality software iteratively, then yes, you see a nice return on your automation."

    Automated Testing and Agile Methodologies

    JoEllen explained automated testing's role in different Agile methodologies: "In XP, automation is explicitly called out in a variety of disciplines (TDD, continuous integration, automated acceptance testing). Scrum teams may have incorporated those practices on their path to agility, but automation is not prescribed by the base methodology. Lean product development assumes automation in the pursuit of waste elimination."

    Implementing Automated Testing in Agile Environments - Challenges

    JoEllen explained the challenges frequently seen in Agile shops: "Availability of people & skills, a holistic team-oriented approach, striking the right balance between automation and excess test inventory which can result in drag. Some teams struggle with when to automate functional tests � whether to delay acceptance of a user story until the automated tests are complete, or to have automated test development as a separate activity. We've found that with the right tools, development of GUI-level tests can easily take place as standard work on a user story. However, automating functional tests on a story-by-story basis may lead to test bloat and may not provide the higher-level coverage that's desired from these tests. Teams may choose to write user stories to prioritize and schedule test development at that level."

    Automated Testing Benefits in an Agile Environment

    JoEllen said that the same benefits seen in other areas of testing are also seen in Agile shops. "Speed, quality, malleable code base (i.e. adaptable/open to change), feedback, efficiency are all benefits that we experience using automation for our tests."

    TestComplete in Agile Environments

    JoEllen had nice things to say about TestComplete for Agile testing: "A co-worker's prior company chose it over the high-end commercial offerings and really digs it for automating acceptance testing with both client-server and browser-based applications. It's both developer and tester-friendly, so it reduces the risk/tendency of specialization/single-role maintainability of the test suite."

    About VersionOne

    Since 2002, companies such as Adobe, BBC, Siemens, Disney, Dow Chemical, IBM, Lockheed Martin, Sony, 3M and Business Objects have turned to VersionOne to help provide greater value to their customers. Today more than 10,000 teams and 70,000 users in 50 countries use VersionOne's Agile project management tools to streamline and standardize their Agile development efforts

    - See more at: http://support.smartbear.com/articles/testcomplete/automated-testing-agile-environment/#sthash.qR2YBNmZ.dpuf

    Agile development and testing is growing in popularity and smart QA/testing teams keep pace with current development trends. Agile testing tools vary from project management tools to automated testing tools. We recently spoke with JoEllen West, Agile tester from VersionOne, to discuss automated testing and its' role in Agile environments. VersionOne is recognized by agile practitioners as a leader in Agile project management tools and JoEllen is the lead tester on their agile development team.

    Automated Testing of Agile Projects vs. Waterfall Projects

    JoEllen had this to say about the difference: "Automation is a critical component to maintaining agility, and is a priority for the entire team through established practices/disciplines and a focus on continuous improvement. Continuous integration/builds, unit, functional & integration test execution and continuous/automated deployment are common examples of applying automation beyond the scope of traditional automated tests."

    "In contrast, waterfall projects will tend not to invest in automation as a priority, primarily due to the phased investment and handoff mindset that accompanies that approach. At best, builds may leverage some automation, and a phase of a waterfall project may be dedicated to functional test automation for long-term support/future release needs, but it's rare to find much more in a back-end-loaded waterfall project."

    Agile Tester Skills

    Regarding agile tester skills, JoEllen said that an Agile tester will have a more team oriented approach and use a wide variety of tools. "In addition to a quality/test-oriented outlook, an agile tester will incorporate a wide array of testing tools and technologies into their testing efforts. They are an integral member of the development team, participating fully in the development process, from design through delivery & deployment. A deep understanding of the domain and features under development is essential to developing tests that provide meaningful feedback. Testers may also work on several stories or features at one time, so tools to organize and juggle multiple testing activities are critical. They will have adapted to a more collaborative, team-based approach to the iterative/continuous delivery of high-quality, working software as a measure of progress."

    Automation Responsibilities on an Agile Team

    "The team! Literally anyone who does anything repetitively more than 2 or 3 times in a short period of time should and will automate it, preferably with a well known tool such as TestComplete, open source options or homegrown scripts/utilities. Testers generally shoulder the development of functional test automation, since that activity can parallel the actual feature development."

    Deciding what Tests get Automated in Agile Environments

    "The individuals doing detailed planning for a given user story (i.e. product owner(s), developers, testers) may make some of those decisions at that time. Developers and testers working on the story make detailed decisions about where automation can be used to trigger acceptance/signal completion of the story. During testing, testers may see opportunities for adhoc, on the fly automation to increase test coverage."

    Maintaining and Reviewing Automated Tests in Agile Environments

    "Since tests are often created by tester-developer and/or tester-product owner pairs, there's a built-in review process of the test scope and validation level as part of story acceptance. Otherwise, the collaborative planning to define the tests, then the collaborative acceptance with the product owner provides ample shared knowledge and review. The end result is robust, resilient automated tests which provide the backbone of regression testing, and any test failures from regression testing may also trigger a test review."

    "Ideally, the entire team maintains all tests, whether unit, functional, or any other. However, testers may use specialized tools for GUI-level tests that require their involvement to maintain tests over time. To reduce the possible silo-ing of this information, the tools should be carefully chosen to be accessible to all team members, information should be readily available, and the test inventory should be continuously culled to prevent test bloat. Beware of the tester building a mammoth suite of tests in a specialized environment as a job security strategy."

    Agile Teams Automate Black Box and White Box Tests

    "For functional/acceptance tests, it's most common for there to be a combination of white-box (under-the-covers) and UI automation (black-box) tests. The white-box tests tend to be less fragile, so are less costly to maintain, whereas the black-box UI-driven tests need to be leveraged judiciously due to the cost to develop and maintain the tests over time. Ideally, testers are involved in both, so that the black-box tests can supplement instead of duplicating white-box tests."

    Implementing Test Driven Development

    "By definition, TDD is a developer coding practice (via a unit test framework), not an agile tester practice. Simply, a developer will write a failing unit test, add the associated code to satisfy the test, then re-run those tests to ensure success. Subsequent refactoring/redesign of the resulting code is done whilst keeping the unit tests running 'Green'. The standard TDD mantra is Red-Green-Refactor."

    "However, the same concept (i.e. test-first) is definitely applied to higher-level functional and acceptance testing, whether automated or executed manually. Essentially, detailed requirements for a user story are expressed in the form of acceptance tests, which can then be captured in advance in a test automation environment such that they will eventually run 'green' once the functionality is in place, signaling completion (they may run 'yellow' on incomplete stories)."

    When Not to Use Automation in an Agile Environment

    It's important to know when and when not to automate tests, this holds true no matter what methodology is used. JoEllen said that if a test is only performed once then it shouldn't be automated. "One-time tasks and exploratory testing/edge cases shouldn't be automated. Edge cases are, by definition, usually one-off test cases, and the effort to automate edge cases generally does not pay off. Exploratory tests are best used to gain knowledge of a new feature and then tweak or revise tests based on the new knowledge."

    Switching from Waterfall to Agile

    When asked if she had any advice to give testers who are switching from a Waterfall project to an Agile project, JoEllen had this to say: "Be aware of the change in mindset/culture. Experiment with modern tools. Keep the big picture of the application in mind and consider individual user stories within the bigger context. Think holistically, and encourage the rest of the team to do so as well."

    Functional, GUI, Regression and Performance Testing in an Agile Environment

    JoEllen explained that all testing types have a place in an Agile shop, it is just a matter of how they are used. "Unit, functional, acceptance, GUI (some of which become regression), performance and load testing are all used. We try to select the most appropriate tool for the team and the type of test we're performing, so we have several different tools in our arsenal."

    "All of these testing types have a place in an agile environment. However, it's important to incorporate them in an Agile way, rather than a prescriptive way. Balance the quality goals of the team with the requirements and risk of individual user stories."

    Automated Testing Starts on Day One

    The automated testing process begins the same time as development in an Agile shop. JoEllen said, "The testing process begins at the same time as development - Day One."

    Automated Testing Tool Features - What is More Important to Agile Testers?

    "Most agile teams, regardless of any specific methodology, are looking for fast, reliable feedback from their automated tests. Fast, reliable feedback means timely results with minimal false failures, ideally incorporated as part of the continuous integration (build) pipeline."

    Automated Testing ROI in Agile Environments

    "It's really a prerequisite to becoming a truly agile team. Automated tests can provide faster feedback than a manual test, reducing rework and long feedback cycles. Thus, if ROI is producing high-quality software iteratively, then yes, you see a nice return on your automation."

    Automated Testing and Agile Methodologies

    JoEllen explained automated testing's role in different Agile methodologies: "In XP, automation is explicitly called out in a variety of disciplines (TDD, continuous integration, automated acceptance testing). Scrum teams may have incorporated those practices on their path to agility, but automation is not prescribed by the base methodology. Lean product development assumes automation in the pursuit of waste elimination."

    Implementing Automated Testing in Agile Environments - Challenges

    JoEllen explained the challenges frequently seen in Agile shops: "Availability of people & skills, a holistic team-oriented approach, striking the right balance between automation and excess test inventory which can result in drag. Some teams struggle with when to automate functional tests � whether to delay acceptance of a user story until the automated tests are complete, or to have automated test development as a separate activity. We've found that with the right tools, development of GUI-level tests can easily take place as standard work on a user story. However, automating functional tests on a story-by-story basis may lead to test bloat and may not provide the higher-level coverage that's desired from these tests. Teams may choose to write user stories to prioritize and schedule test development at that level."

    Automated Testing Benefits in an Agile Environment

    JoEllen said that the same benefits seen in other areas of testing are also seen in Agile shops. "Speed, quality, malleable code base (i.e. adaptable/open to change), feedback, efficiency are all benefits that we experience using automation for our tests."

    TestComplete in Agile Environments

    JoEllen had nice things to say about TestComplete for Agile testing: "A co-worker's prior company chose it over the high-end commercial offerings and really digs it for automating acceptance testing with both client-server and browser-based applications. It's both developer and tester-friendly, so it reduces the risk/tendency of specialization/single-role maintainability of the test suite."

    About VersionOne

    Since 2002, companies such as Adobe, BBC, Siemens, Disney, Dow Chemical, IBM, Lockheed Martin, Sony, 3M and Business Objects have turned to VersionOne to help provide greater value to their customers. Today more than 10,000 teams and 70,000 users in 50 countries use VersionOne's Agile project management tools to streamline and standardize their Agile development efforts

    - See more at: http://support.smartbear.com/articles/testcomplete/automated-testing-agile-environment/#sthash.qR2YBNmZ.dpuf



    More Testing - General Articles
    1 2 3 4 5 6 7 8 9 10 11 Next



    discussionDiscussion Center
    Discuss
    Discuss

    Query

    Feedback
    Yahoo Groups
    Y! Group
    Sirfdosti Groups
    Sirfdosti
    Contact Us
    Contact

    Looking for Software Testing eBooks and Interview Questions? Join now and get it FREE!
     
    A D V E R T I S E M E N T
       
       

    Members Login


    Email ID:
    Password:


    Forgot Password
    New User
       
       
    Testing Interview Questions
  • General Testing
  • Automation Testing
  • Manual Testing
  • Software Development Life Cycle
  • Software Testing Life Cycle
  • Testing Models
  • Automated Testing Tools
  • Silk Test
  • Win Runner
  •    
       
    Testing Highlights

  • Software Testing Ebooks
  • Testing Jobs
  • Testing Frequently Asked Questions
  • Testing News
  • Testing Interview Questions
  • Testing Jobs
  • Testing Companies
  • Testing Job Consultants
  • ISTQB Certification Questions
  •    
       
    Interview Questions

  • WinRunner
  • LoadRunner
  • SilkTest
  • TestDirector
  • General Testing Questions
  •    
       
    Resources

  • Testing Forum
  • Downloads
  • E-Books
  • Testing Jobs
  • Testing Interview Questions
  • Testing Tools Questions
  • Testing Jobs
  • A-Z Knowledge
  •    
    Planning
    for
    Study ABROAD ?


    Study Abroad


    Vyom Network : Free SMS, GRE, GMAT, MBA | Online Exams | Freshers Jobs | Software Downloads | Programming & Source Codes | Free eBooks | Job Interview Questions | Free Tutorials | Jokes, Songs, Fun | Free Classifieds | Free Recipes | Bangalore Info | GATE Preparation | MBA Preparation | Free SAP Training
    Privacy Policy | Terms and Conditions
    Sitemap | Sitemap (XML)
    Job Interview Questions | Placement Papers | SMS Jokes | C++ Interview Questions | C Interview Questions | Web Hosting
    German | French | Portugese | Italian